import allure
from base.base import Base
import page
from time import sleep
from base.get_logger import GetLogger
#获取log日志器
log = GetLogger().get_logger()


class PageLogin(Base):
    #点击登录连接
    @allure.step(title="点击登录连接")
    def page_click_login_link(self):
        log.info("[page_login]：正在进行点击登录按钮")
        self.base_click(page.login_link)
    #输入用户名
    @allure.step(title="输入用户名")
    def page_input_username(self,username):
        log.info("[page_login]：对{}元素，输入用户名:{}操作".format(page.login_username,username))
        self.base_input(page.login_username,username)
    #输入密码
    @allure.step(title="输入密码")
    def page_input_password(self,pwd):
        log.info("[page_login]：对{}元素，输入密码{}操作".format(page.login_pwd,pwd))
        self.base_input(page.login_pwd,pwd)
    #输入验证码
    @allure.step(title="输入验证码")
    def page_input_verify_code(self,verify_code):
        log.info("[page_login]：对{}元素，输入验证码{}操作".format(page.login_verify_code, verify_code))
        self.base_input(page.login_verify_code, verify_code)
    #点击登录按钮
    @allure.step(title="点击登录按钮")
    def page_click_login_btn(self):
        log.info("[page_login]：执行:{}点击连接操作".format(page.login_link))
        self.base_click(page.login_btn)
    #获取错误提示信息
    def page_get_err_info(self):
        return self.base_get_txt(page.login_err_info)
    sleep(2)
    #点击错误提示框确定按钮
    def page_click_err_alert_ok_btn(self):
        self.base_click(page.login_err_ok_btn)
    #判断是否登录成功
    def page_if_login_success(self):
        return self.base_elment_is_exist(page.login_logout_link)
    #点击安全退出按钮
    def page_click_logout(self):
        self.base_click(page.login_logout_link)
    #判断是否退出成功
    def page_if_logout_success(self):
        return self.base_elment_is_exist(page.login_link)


    #组装登录业务方法
    def page_login(self,username,pwd,verify_code):
        log.info("[page_login]：正在执行登录操作，用户名：{},密码：{},验证码：{}".format(username,pwd,verify_code))
        self.page_input_username(username)
        self.page_input_password(pwd)
        self.page_input_verify_code(verify_code)
        self.page_click_login_btn()

    #给其他测试类用的登录成功的方法
    def page_login_success(self,username="17563358611",pwd="628494cgx",verify_code="8888"):
        self.page_click_login_link()
        self.page_input_username(username)
        self.page_input_password(pwd)
        self.page_input_verify_code(verify_code)
        self.page_click_login_btn()